#include<iostream>
#include<string>
#include<map>
using namespace std;
class MyStack;

class listNode{
    friend class MyStack;
private:
    listNode* next;
    int data;
public:
    listNode(){next=NULL;};
    listNode(int nodeData, listNode* succ = NULL);
};

class MyStack
{
private:
    listNode* topNode;
    int stackSize;

public:
    MyStack();
    ~MyStack();

    bool push(const int&);
    bool pop(int&);
    bool pop();
    bool getTop(int&);
    void printStack();
};
class MyQueue
{
private:
    int* queue;
    int capacity;
    int front;
    int rear;
    int cur_num_elem;

public:
    MyQueue(const int&);
    ~MyQueue();

    bool enQueue(const int&);
    bool deQueue(int&);
    bool getFront(int&);
    void printQueue();

    bool isFull();
};
bool checkExpression(const string&);

bool postfixExpression(const string&, string&);

bool expressionVal(const string&, int&);

void yanghui(const int&);




